<?php namespace Phpcmf\Model\Xcx;

// 小程序模型
class Xcx extends \Phpcmf\Model {


    // 小程序信息
    public function get_xcx_data($id) {

        if (!$id) {
            return dr_return_data(0, '小程序不存在');
        }

        $data = $this->table('xcx')->get($id);
        if (!$data) {
            return dr_return_data(0, '小程序不存在');
        }

        $data['setting'] = dr_string2array($data['setting']);

        $data['order'] = $this->table_site('cloud_buy')->get($data['oid']);
        if (!$data['order']) {
            return dr_return_data(0, '小程序对应的订单信息不存在');
        }

        $data['shop'] = $this->table_site('cloud')->get($data['cid']);
        if (!$data['shop']) {
            return dr_return_data(0, '小程序对应的商品信息不存在');
        }

        return dr_return_data(1, 'ok', $data);
    }

    // 小程序菜单
    public function get_xcx_menu($path) {

    }


    // 安装小程序
    public function install($data) {

        unset($data['order'], $data['shop']);
        $rt = $this->table('xcx')->insert($data);
        if (!$rt['code']) {
            return dr_return_data(0, $rt['msg']);
        }

        // 复制程序
        $xcx_path = WEBPATH.'api/xcx/'.$data['cid'].'/';

        // 创建模型表
        if (is_file($xcx_path.'app/Config/Module.php')) {
            $module = require $xcx_path.'app/Config/Module.php';
            if ($module) {
                foreach ($module as $json) {
                    $arr = dr_string2array($json);
                    $arr['table'] = 'xcx_'.$data['cid'].'_'.$arr['table'];
                    $row = $this->table(SITE_ID.'_form')->where('table', $arr['table'])->getRow();
                    if ($row) {
                        $this->table(SITE_ID.'_form')->delete($row['id']);
                        // 删除表数据
                        \Phpcmf\Service::M('Table')->delete_form($row);
                    }
                    $arr['setting']['dev'] = 'xcx_'.$data['cid'];
                    $rt = \Phpcmf\Service::M('Form')->import($arr);
                    if (!$rt['code']) {
                        return dr_return_data(0, '创建模块表失败：'.$rt['msg']);
                    }
                }
            }
        }

        // 导入数据库
        if (is_file($xcx_path.'app/Config/Install.sql')) {
            $sql = file_get_contents($xcx_path.'app/Config/Install.sql');
            $prefix = $this->dbprefix('xcx_'.$data['cid'].'_');

        }


        return dr_return_data(1, 'ok');

    }
}